Actionable Business Intelligence System and Method

ABSTRACT

The invention relates to system ( 200 ) for analyzing and controlling a business process, comprising a software platform ( 201 ) for supporting at least one business intelligence module ( 107 ). The software platform ( 201 ) is arranged to provide an interface between a user and the at least one BI module ( 107 ). The system further comprises an integration module ( 204 ) arranged to communicate with the software platform ( 201 ) and with the at least one business intelligence module ( 302 ). The integration module ( 204 ) is also arranged to: extract business data from at least one business data storage ( 102 ) source; offer the business data to the at least one business intelligence module ( 107 ); receive a command from the software platform ( 201 ) or from the business intelligence module ( 107 ) indicating that the user asked for action to decrease a difference between a value of a business target parameter and a value of a realization parameter; create one or more appropriate business actions to decrease the difference using business rules already provided by the user; communicate the one or more business actions to at least one business software application, such as an ERP application, in charge of the at least one business data storage.

TECHNICAL FIELD

The present invention relates to a system and method for analyzing andcontrolling a business process.

BACKGROUND

The term business intelligence (BI) refers to technologies,applications, and practices for the collection, integration, analysis,and presentation (i.e. reporting) of business information and alsosometimes to the information itself The purpose of business intelligenceis to support better business decision-making. BI describes a set ofconcepts and methods to improve business decision making by usingfact-based support systems. BI is sometimes used interchangeably withbriefing books, report and query tools and executive informationsystems. Business Intelligence systems are data-driven DSS. BI systemsprovide historical, current, and predictive views of businessoperations, most often using data that has been gathered into a datawarehouse. This data warehouse is loaded by an ETL tool that applies aseries of rules or functions to data extracted from particular datasources of business software applications.

A BI application enables signaling differences in planning and actualsbut neither the BI application nor the present ETL tools canautomatically incorporate the findings (of the differences) into dailybusiness processes.

SUMMARY OF THE INVENTION

It is a goal of the present invention to provide a system and method foranalyzing and controlling business processes where once a user hasidentified a problem, proper business actions are automaticallygenerated and processed.

This goal is achieved by a system for analyzing and controlling abusiness process, comprising:

a software platform for supporting at least one business intelligencemodule, the software platform being arranged to provide an interfacebetween a user and the at least one BI module;

an integration module arranged to communicate with the software platformand with the at least one business intelligence module, the integrationmodule being arranged to:

extract business data from at least one business data storage source;

offer the business data to the at least one business intelligencemodule;

receive a command from the software platform or from the businessintelligence module indicating that the user asked for action todecrease a difference between a value of a business target parameter anda value of a realization parameter;

create one or more appropriate business actions to decrease thedifference using business rules already provided by the user;

communicate the one or more business actions to at least one businesssoftware application, such as an ERP application, in charge of the atleast one business data storage.

The system according to the invention provides for what is referred toas ‘Actionable Business Intelligence’ (Actionable BI). Actionable BImeans that structured actions are taken from within a BI analysisapplication which actions are linked to actual and predefined businessprocesses. Actionable BI allows the user to identify a problem andimmediately act upon it from within a single BI application.

In an embodiment, the business actions are communicated to the businesssoftware applications by means of XML data files, XML data streams, CSVfiles and/or ADO/ODBC.

In a further embodiment, the software platform comprises a GUI componentarranged to display the difference between a value of a business targetparameter and a value of a realization parameter, and to receive acommand from the user.

The invention also relates to a method for analyzing and controlling abusiness process, comprising:

provide a software platform to support at least one BI module;

provide an interface between a user and the at least one BI module;

extract business data from at least one business data storage source;

offer the business data to the at least one business intelligencemodule;

receive a command from the or from the business intelligence moduleindicating that a user asked for action to decrease a difference betweena value of a business target parameter and a value of a realizationparameter;

create one or more appropriate business actions to decrease thedifference using business rules already provided by the user;

communicate the one or more business actions to at least one businesssoftware application, such as an ERP application, in charge of the atleast one business data storage.

The invention finally relates to a computer program product tangiblyembodied in an information carrier, the product including instructionsthat, when executed, perform the method described above.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be discussed in more detail below, using anumber of exemplary embodiments, with reference to the attacheddrawings, in which:

FIG. 1 schematically shows a diagram of a state of the art businessanalysis system;

FIG. 2 schematically shows a diagram of an example of a businessanalysis system according to an embodiment;

FIG. 3 shows the main components of the Integrator according to anembodiment;

FIG. 4 shows an example of a screen produced by the GUI of the softwareplatform;

FIG. 5 shows an example of the screen with a situation in which the userhas selected the context ‘Charter’;

FIG. 6 shows a screen in a situation where the user has dragged anInterest component onto the main section of the screen;

FIG. 7 shows the screen in which KPI-icons are displayed related toparticular KPI's;

FIG. 8 is a flow chart showing a procedure performed by the systemaccording to an embodiment of the invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

FIG. 1 schematically shows a diagram of a state of the art businessanalysis system 100. The system 100 comprises an Extract Transform andLoad (ETL) tool 101 which extracts data from one or more data sources102, 103, 104. Each separate data source may use a different dataorganization/format. Examples of such data sources are relationaldatabases and flat files, but may include non-relational databasestructures such as IMS or other data structures such as VSAM or ISAM.The ETL tool 101 converts the data from the data sources 102, 103, 104into a format for a transformation stage. In this transformation stage,the ETL tool 101 applies a series of rules or functions to the extracteddata from the data sources 102, 103, 104 to derive the data to be loadedto an end target, such as a data warehouse (DW) 105. Some data sourceswill require very little or even no manipulation of data. In othercases, one or more of the following transformations types to meet thebusiness and technical needs of the end target may be required. The datawarehouse 105 might regularly (e.g. weekly) overwrite existinginformation with cumulative, updated data.

In this example, the business analysis system 100 also comprises a BImodule 107 implemented by a software program arranged to producebusiness reports. These business reports may be used by businessmanagers who need this information for e.g. decision making. The BImodule 107 uses data stored at the data warehouse 105. The BI module 107can retrieve data from the data warehouse 105, but it does not updatethe data warehouse 105. The data warehouse 105 is only updated by theETL tool 101. The state of the art BI module 107 may be arranged toenable a user to form his own database if needed. However, such a useris never authorized to write back into the original data sources 102,103, 104 owned by the business software applications. This would makethe data in these data sources 102, 103, 104 unverifiable.

FIG. 2 schematically shows a diagram of an example of a system 200 foranalyzing and controlling a business process according to an embodimentof the invention. The system 200 for analyzing and controlling abusiness process is also referred to as ‘business analysis system 200’.The business analysis system 200 comprises a platform 201 also referredto as Agile System Environment (ASE) 201, which is arranged to supportand interact with several BI modules such as the BI module 107 mentionedabove. The ASE platform 201 has an I/O module 202 that is arranged toprovide an interface to the user of the business analysis system 200.The business analysis system 200 also comprises an integrating module204. The integrating module 204, also referred to as Integrator 204, isarranged to communicate with the ASE platform 201. The Integrator 204 isthe technical engine of the business analysis system 200 and integratesall the various BI modules 107, 108 connected to the ASE platform 201.

The Integrator 204 is arranged to retrieve data from the data sources102, 103, 104 and manipulate the data. This is why the Integrator 204can best be regarded as being an ETL tool except for the data storinginto a data warehouse. After retrieving data from one or more databases102, 104, the Integrator 204 stores it into a memory, such as RAM. TheIntegrator 204 is arranged to perform data manipulation on data presentin this memory. The Integrator 204 can perform calculations on data inits memory, combine several data sources and offer the adjustedmanipulated data to the BI modules 107, 108. The BI modules 107, 108experience the data stored in a memory by the Integrator 204 as aso-called Virtual database 207, see FIG. 2. The Integrator 205 isarranged to store relevant business data into the memory 207 (i.e.virtual database) whenever the BI modules 107, 108 request for the data.Contrary to present data warehouses regularly filled by an ETL tool, thevirtual database 207 will contain up-to-date information retrieved fromthe data sources 102, 103, 104. The BI module 107, 108 may be areporting tool that calculates whether certain KPI (i.e. a businesstarget parameter) are met and may signal differences in planning andactuals. The signals of the BI module a re processed by the ASE platform201 and are graphically shown on a display. The user will then noticethese differences and may decide to act. If the user decides to act, theIntegrator 204 receives a command from the ASE platform 201 indicatingthat the user asked for action to decrease a difference between a valueof a business target parameter and a value of a realization parameter(i.e. actual performance). Alternatively, the Integrator 204 may receivethe command directly from the business intelligence module 107. Bysending this command, the ASE platform 201 will activate a businessaction process in the Integrator 204 in order to automatically createthe appropriate business actions. Which business actions need to betaken depends on the particular business model. A business model mayconstitute of a set of business rules that are stored in e.g. arepository (i.e. a database) 210. In an embodiment, the Integrator 204itself fills the repository 210 with business rules. These businessrules are defined by the user that can use the I/O functionality of theASE platform 201 or of the Integrator 204 to enter the business rulesinto the business analysis system 200.

Contrary to common ETL tools, the Integrator 204 is arranged tocommunicate directly to the business applications managing thesedatabases 102, 104. In this example, the Integrator 204 communicateswith an ERP application 205 and with a CRM application 206. Tocommunicate with the business applications, the Integrator 204 may useseveral standard techniques such as XML, Web Services and ActiveX DataObjects (ADO). Communication on an ‘application level’ makes it possiblethat the business actions created by the Integrator 204 can becommunicated to the business applications 205, 206 themselves. Thebusiness applications will process these actions into their associateddatabases 102, 104. Once the actions are processed by the appropriatebusiness applications 205, 206, the BI modules 107, 108 will as soon asthey request new data from the Virtual database 207, get businessinformation in which the actions taken are processed. This loop of 1)displaying differences between planning and actuals 2) initiateappropriate actions 3) automatically perform those actions 4) storeconsequences of those actions into the appropriate databases 5) retrieveup-to-date business information, is referred to as ‘Actionable BusinessIntelligence’.

It is noted that, comparable to common ETL tools, the Integrator 204 mayalso connect directly to the external data source s (e.g. ERP database102).

The data manipulation can be done with or without user interaction.Business processes are broken down into separate steps by the user andbased on certain rules; these steps will be carried out by theIntegrator 204. A business process needs parameters to run. Thesebusiness parameters can be retrieved from a business model data source(not shown) or they can be entered by the user. The Integrator 204 mayuse different types of data sources to read from and to write back into.

These may vary from SQL databases like Oracle and Microsoft SQL Serverto Open Source varieties like MySQL. The Integrator 204 may also usevirtual sources like web services or other XML streams. To use as a datasource as well as to expose functionality to the BI modules 107, 108 asthe virtual data source 207 mentioned above.

Due to the use of several communication techniques, such as XML/webservices/ADO, the Integrator 204 connects perfectly to different typesof BI modules 107, 108. If the BI modules 107, 108 are not capable ofgenerating input screens, the Integrator 204 may generate the inputscreens for them.

FIG. 3 shows the main components of the Integrator 204. The Integrator204 comprises a Process Server 401, a Server Manager 402, a WebApplication Server 403 and a Web Generator 404. The Process Server 401is arranged to service processes of the Integrator 204. These processesare triggered either by a timer or by changes in a business data source,such as the ERP database 103 in FIG. 2. The Server Manager 402 isarranged to control the Process server 401 and the external resources(i.e. data sources 308, 309, 310). The Web Application Server 403 isarranged to connect the Process Server 401 to web clients 405(browsers). The Web Application Server 403 may service (one-off)processes based on web service calls, generate input XML documents(files and streams), and generate output XML documents (files andstreams).

The Web Generator 404 is arranged to connect to the Web ApplicationServer 403. The Web Generator 404 enables the design of businessprocesses and business models by the user by way of a ‘drag & drop’-functionality. It is further arranged to generate Web Forms and toprocess the Web Forms. These Web forms are used to display informationwhen the BI modules 107, 108 lack this functionality or take(additional) user input to start a business process.

The Integrator 204 may use classic and modern software techniques to getthe input needed (data sources 102, 103, 104), generate screens (userinteraction) and create results. Some of the possible techniques arelisted below:

XML input streams (including web services)

Fits into an Service Oriented Architecture (SOA)

Generates SOA components from existing legacy systems

ADO/ODBC input an d output

XML output streams (including web services)

File input (XML, CSV)

OCX/(B)API support (for example SAP, Microsoft Exchange)

File Output (XML, CSV)

MAPI support (email)

Now the working of the interaction with the user is discussed by way ofan example. At the beginning of a session, the user will have to logonto the system. The user will need to enter some sort of ID which is usedby the software platform 201 of the analysis system 200 forauthentication of the user. The software platform 201 will check if theparticular user is authorized to generate actions in the analysis system200. After identifying the user, the user interface (screens) iscomposed using settings given by the user. Once the user has logged on,he will see for example a screen 600 as shown in FIG. 4. The screen 600comprises a Toolbar section 601, a Context Selection section 602 and amain section 603 that is implemented as a plurality of tabs. In theexample of FIG. 4, a tab called ‘Dashboard’ tab 604 is shown/selected.In this example, business data is shown relating to a charter (i.e.boat) rental company. The company has multiple sailing centers and eachsailing center stations a number of charters. The dashboard tab 604shows a calendar 606, a list 607 of outstanding charter activities for acharter called ‘Bavaria’, and some detailed information about theperformance of a sailing centre, see Center info 608.

The software platform 301 is manages all the screen elements needed todo the day-to-day operational tasks varying from analysis to contactmanagement. In this example the Toolbar section 601 and the ContextSelection section 602 are managed by the software platform 301. TheContext Selection section offers the possibility to select userdefinable contexts that help going though the day-to-day work. A usercan have specific contexts, for example a marketing planner could havetypical contexts such as:

projects

area's

target groups.

In this example, the user is a planner for the charter rental company,and his specific contexts are:

charter

(sail-) center.

The various tools inside the toolbox are dependant on the context.Choosing a different context in the Context Selection section 602, willdisplay the appropriate tools in the Toolbar section 601 to carry outthe tasks at hand. Within the context, there can be multiple ways orareas of looking at the information. These are setup as tabs at the mainsection 603 of the screen 600. Next to the tab 604 for the dashboard(homepage), a Planning tab 610, an Occupancy tab 611 and a Work area tab612 for ad-hoc tasks. Each tab may have multiple components on it. Thesecomponents are selected based on the tools and (pre-) defined usersettings. In this example, the user has placed a calendar component 606on the screen 600, which is an ASE component and is the result of aspecific process being run when building up the screen contents (showall the relevant activities for the current user). The other componentsshown (i.e. 607, 608) are elements of a Business Intelligence module(e.g. Business Objects XI R2). All of these components work togetherwithin the selected context. So changing a context value (e.g. selectinga different sailing center) will adjust the component contentsaccordingly.

In FIG. 5, the screen 600 shows a situation in which the user hasselected the context ‘Charter’. Now a ‘Charter Actuals’ component 703within the context of charters on the occupancy tab 611 shows a table inwhich a target percentage against each charter is listed (see lastcolumn 704 of the table). This target percentage may be calculated basedon the realized turnover as well as on the projected turnover based onorders and quotations. Once the context of ‘Charter’ is selected fromthe context selection section 602, the appropriate KPI's are calculatedbased on the information retrieved from the business data sources 102,103, 104. When a particular KPI is not met for a particular charter, anadditional icon is placed next to the target percentage in the table ofthe Charter Actuals component 703. This additional icon tells the userthat the associated KPI is not met. In this example, the planner willnotice that for 2 charters, the target percentage has fallen short ofthe minimum of 15 and is therefore marked with an extra icon. To getfurther insight into the reasons behind these numbers, the user maychoose a component from the Toolbar section 601 to see if anyone hasshown an interest in any of the charters. Therefore he can select theoption ‘Event Interest’ 801 and drag it on to the main section 603 ofthe screen 600, see FIG. 6. Now he can see that even although the KPIfor the charter called ‘Dexton Business’ is short of the target (i.e.the KPI is not met), there is an interest in this charter by severalprospects, see Event Interest component 802. Information about interestfor a particular charter can be obtained from response informationstored in for example a CRM system. The user may now decide to takeaction by starting an appropriate business process. The user will clickon the icon 901 and as a result an ‘Add activity’ component 902 isshown. The Add activity component 902 shows the additional input neededto start a process from the Agile System Environment 201. The businessprocesses are defined using the result of e.g. a business processanalysis performed by e.g. business analysts. These defined businessprocesses are modeled and stored into the integrator repository 210.Once the business process is defined, the Integrator 204 will show thecorresponding component with the input fields it needs to carry out thebusiness process. The user can check the results and adjust values. Uponpressing the ‘OK button’ 903, a business process is automaticallystarted (‘is kicked-off’) in which one or more necessary actions areexecuted by the analysis system 300. Because of the business ruleswithin the company of the example, the necessary actions are informingsomeone from the sales department and telling them to chase one or morequotes. In this case, the analysis system 300 will automatically placean activity (e.g. make a phone call) in the task list of a specific userto chase this quote (i.e. HighTack Sailing) and since this is aninternal task, the activity is related to the internal company.

The necessary actions generated by the Integrator 204 are the result ofa predefined business process entered by the user, and are in compliancewith the company policy. The actions are communicated to the businesssoftware applications 205, 206 which will initiate the execution of oneor more business processes. The results of these business processes areplaced by the business software application 205, 206 in itscorresponding data source 102, 104. A change in these data sources 102,104 will then automatically, via the virtual database 207, update theresults produced by the BI module 107.

Once the quote has been chased, result of this chase will automaticallybe ‘picked up’ by the KPI involved because this particular KPI is basedon actual and targeted occupation of the charter. Since the targetedoccupations for the charter ‘Dexton Business’ has now changed, thetarget percentage displayed in table of the Charter Actuals component703 will change as well (not shown). The actual handling of the callactivity by the sales department can be handled by a CRM-system.Alternatively, a process component may be created in/by the ASE platform201 which will appear as an action in the Calendar component 606 on thedashboard tab 604 for the selected user.

FIG. 8 is a flow chart showing a procedure performed by the systemaccording to an embodiment of the invention. In a step 920 a user logson to the system. The system will perform an authentication step 921 andwill then retrieve data needed for an initial display depending on auser profile, see step 922. Then in a step 923, the initial display isshown on a (computer) screen, using for example Windows XP or any othersuitable GUI known to the skilled person. If the current display (inthis case the initial) shows components that output KPI related data,see step 924, a step 925 follows in which it is checked whether allKPI's concerned are met. If this is not the case, a step 926 follows inwhich KPI-icons (see e.g. icon 901 in FIG. 7) are displayed related tothe particular KPI's. Then in a step 927, the system waits for inputfrom the user. If one of the KPI-icons is clicked, see step 928, thesystem will display activity details in a step 929, see for example theAdd activity component 902 in FIG. 7. In a step 930 it is checkedwhether the user has clicked the OK-button 903. If this is the case,then in a step 931 the necessary actions are created by the Integrator204. These actions are sent to one of the business software application205, 206 in a step 932.

The present invention h as been explained above with reference to anumber of exemplary embodiments. As will be apparent to the personskilled in the art, various modifications and amendments can be madewithout departing from the scope of the present invention, as defined inthe appended claims.

LIST OF ABBREVIATIONS

ADO ActiveX Data Objects

CSV Character (comma) separated file

ERP Enterprise Resource Planning

GUI Graphical User Interface

ISAM Indexed Sequential Access Method

KPI Key Performance Indicator

ODBC Open Database Connectivity

VSAM Virtual Storage Access Method

XML Extended Markup Language

1-8. (canceled)
 9. System (200) for analyzing and controlling a businessprocess, comprising: a software platform (201) for supporting at leastone business intelligence module (107), said software platform (201)being arranged to provide an interface between a user and said at leastone BI module (107); an integration module (204) arranged to communicatewith said software platform (201) and with said at least one businessintelligence module (302), said integration module (204) being arrangedto: extract business data from at least one business data storage (102)source; offer said business data to said at least one businessintelligence module (107); receive a command from said software platform(201) or from said business intelligence module (107) indicating thatsaid user asked for action to decrease a difference between a value of abusiness target parameter and a value of a realization parameter; createone or more appropriate business actions to decrease said differenceusing business rules already provided by said user; communicate said oneor more business actions to at least one business software application,such as an ERP application, in charge of said at least one business datastorage.
 10. System according to claim 9, wherein said one or morebusiness actions are communicated to said at least one business softwareapplication by means of at least one of XML data files, XML datastreams, CSV files and ADO/ODBC.
 11. System according to claim 9,wherein said software platform (201) comprises a GUI component arrangedto display said difference between a value of a business targetparameter and a value of a realization parameter, and to receive acommand from said user.
 12. System according to claim 9, wherein saidintegration module is arranged to receive business rules and store saidbusiness rules into a repository.
 13. System according to claim 9,wherein said integration module is arranged to store said business datainto a computer memory.
 14. System according to claim 9, wherein saidintegration module is arranged to extract business data from said atleast one business data storage (102) source after a request from saidat least one BI module (107).
 15. Method for analyzing and controlling abusiness process, comprising: provide a software platform (201) tosupport at least one BI module (107); provide an interface between auser and said at least one BI module (107); extract business data fromat least one business data storage (102) source; offer said businessdata to said at least one business intelligence module (107); receive acommand from said or from said business intelligence module (107)indicating that a user asked for action to decrease a difference betweena value of a business target parameter and a value of a realizationparameter; create one or more appropriate business actions to decreasesaid difference using business rules already provided by said user;communicate said one or more business actions to at least one businesssoftware application, such as an ERP application, in charge of said atleast one business data storage.
 16. Computer program product tangiblyembodied in an information carrier, the product including instructionsthat, when executed, perform the method according to claim 15.